﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace WpfApp54_绑定到数据对象.Model
{
    public class User : INotifyPropertyChanged
    {
        public event PropertyChangedEventHandler? PropertyChanged;

//        使用非空断言运算符（non-null assertion operator）：在某些情况下，您可能确定一个引用不会为空，并且希望告诉编译器不进行 null 检查。您可以使用 `!` 运算符，称为非空断言运算符。
//但是请谨慎使用，因为如果该引用为空，将会引发 `NullReferenceException`。例如：
//```csharp
//string? nullableString = null;
//        int length = nullableString!.Length; // 使用非空断言运算符告诉编译器不进行 null 检查
//```

        private string userName = null!;

        public string UserName
        {
            get => userName;
            set
            {
                userName = value;
                PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("UserName"));
            }
        }

        public string UserPwd { get; set; } = null!; //简写
    }
}
